Home visualization tool

ABSTRACT

A method for creating a house visualization template can comprise receiving a first exterior image of a first house. The method can also include creating a set of first boundaries that define a first type of decorative feature of the first house. Additionally, the method can include receiving a first set of decorative images that depict various different instances of the first type of decorative feature. The method can also comprise generating from each of the decorative images of the first set of decorative images respective first decorative feature masks. The first decorative feature masks may be configured to selectively overlay an area encompassed by the set of first boundaries, such that the first exterior image of the first house is selectively displayable with any of the instances of the first type of decorative features within the first set of decorative images.

BACKGROUND OF THE INVENTION

Many different systems and methods have been introduced that areintended to assist a user in selecting a particular coating for aproject. For example, a conventional method for selecting a desiredcoating may include a customer identifying a paint chip of interest at apaint store. The customer may then choose to buy the paint simply basedupon the chip itself. Alternatively, the customer may choose to take thepaint chip home and try to visualize the color from the paint chipapplied to the target surface. One will understand the difficulty ofpicking a color based upon a conventional card sized paint chip.

In contrast, some more recent conventional methods allow a user to takea picture of an object and digitally retrieve color data from theobject. This method can be particularly useful when the customer isattempting to match a coating to a previously coated surface that hasbeen damaged. Additionally, this method may also be useful when thecustomer wants to coat a target surface with a particular color that thecustomer is otherwise unable to identify.

While conventional paint selection methods provide several systems bywhich a customer can select a paint color, there are still significantshortcomings. For example, conventional systems and methods providedeficient methods for visualizing coatings on a finished product. Inmany cases, in order to see how a room will look with a particular colorof paint, a user must first paint a majority of the room. Obviously,painting the room in order to determine if a color is acceptable is bothexpensive and time consuming.

Some newer methods have begun to digitally paint user uploadedphotographs of rooms, or other objects to be painted. The methodshowever tend to render poor visual representations of both the color andthe target of the painting. In many cases, users are left to old methodsof using small paint chips to determine the color or finish of a room.Accordingly, there are many problems in the art to be addressed.

BRIEF SUMMARY OF THE INVENTION

The present invention comprises systems, methods, and computer programproducts for providing a user with an interactive coating and adecorative feature selection interface. For example, the presentinvention can comprise a system for allowing a user to customizecoatings and decorative features on a depicted building facade.Additionally or alternatively, the depicted building facade comprises aphotograph of an actual building facade. Further, the user-customizeddecorative features and/or coatings may also comprise photographs ofactual decorative features and/or coatings that are selectivelyintegrated into the photograph of the building facade.

Disclosed embodiments relate to a computerized method for creating ahouse visualization template for visualizing the interchange of variousdecorative features of a house, wherein the method can includereceiving, using at least one processor, a first exterior image of afirst house. As used herein, a “house” and all references to a “house”or “room” are provided only for the sake of example. One will understandthat the inventions disclosed herein are applicable to any building,structure, or target object. As such, the use of the word “house” or“room” is not limiting to the scope of this invention.

The first exterior image can depict various decorative features of thefirst house. The method can also include creating, using the at leastone processor, a set of first boundaries that define a first type ofdecorative feature of the first house. Additionally, the method caninclude receiving, using the at least one processor, a first set ofdecorative images that depict various different instances of the firsttype of decorative feature. The decorative images can comprisephotographs of various different instances of the first type ofdecorative feature.

The method can also include generating, using the at least oneprocessor, from each of the decorative images respective firstdecorative feature masks. The first decorative feature masks areconfigured to selectively overlay an area encompassed by the set offirst boundaries, such that the first exterior image of the first houseis selectively displayable with any of the instances of the first typeof decorative features within the first set of decorative images.

In an additional or alternative example, the present invention alsorelates to a computerized method for visualizing, at an end-user device,the interchange of various decorative features of a house using a housevisualization template created according to the method for creating ahouse visualization template according to the present invention. Thevisualization method can include displaying, using at least oneprocessor, a first exterior image of a first house, wherein the firstexterior image can include various decorative features of the firsthouse. The first exterior image of the first house can for examplecomprise a first photograph of the first house. The method can alsoinclude displaying, using the at least one processor, a first set ofdecorative feature indications. The first set of decorative featureindications may include different selectable decorative features of afirst type. The different selectable decorative features of the firsttype are associated with generated first decorative feature masks.Additionally, the method can include displaying a second set ofdecorative feature indications. The second set of decorative featureindications can comprise different selectable decorative features of asecond type. The different selectable decorative features of the secondtype are associated with generated second decorative feature masks.

Further, the method can also include receiving, using the at least oneprocessor, an indication from a user input device of a selection of aparticular indication within the first set of decorative featureindications. The particular indication may be associated with a firstdecorative feature. Further still, the method can include displaying,using the at least one processor, on a digital display, a secondexterior image of the first house. The second exterior image of thefirst house can comprise the first exterior image of the first housewith the first decorative feature incorporated, making use of theassociated first decorative feature mask, into the first exterior imagesuch that the first decorative feature replaces an original decorativefeature within the first exterior image.

The present invention also relates to a computer system being configuredto implement the computerized methods according to the present inventionas well as to a computer program product comprising one or more computerstorage media having stored thereon computer-executable instructionsthat, when executed by at least one processor, cause a computer systemto perform such computerized method.

Additional features and advantages of exemplary implementations of theinvention will be set forth in the description which follows, and inpart will be obvious from the description, or may be learned by thepractice of such exemplary implementations. The features and advantagesof such implementations may be realized and obtained by means of theinstruments and combinations particularly pointed out in the appendedclaims. These and other features will become more fully apparent fromthe following description and appended claims, or may be learned by thepractice of such exemplary implementations as set forth hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above recited and otheradvantages and features of the invention can be obtained, a moreparticular description of the invention briefly described above will berendered by reference to specific embodiments thereof, which areillustrated in the appended drawings. Understanding that these drawingsdepict only typical embodiments of the invention and are not thereforeto be considered to be limiting of its scope, the invention will bedescribed and explained with additional specificity and detail throughthe use of the accompanying drawings in which:

FIG. 1 depicts a schematic diagram of a system for customizing images ofa building in accordance with the present invention;

FIG. 2A depicts exemplary steps in a process of creating a decorativefeature mask in accordance with the present invention;

FIG. 2B depicts an exemplary exterior image of a house for creatingboundaries outlining decorative features in accordance with the presentinvention;

FIG. 3A depicts an exemplary user interface for customizing a house orbuilding facade in accordance with the present invention;

FIG. 3B depicts another exemplary user interface for customizing a houseor building facade in accordance with the present invention;

FIG. 4 depicts a flow of an exemplary method for creating a housevisualization template for visualizing the interchange of variousdecorative features of a house in accordance with the present invention;and

FIG. 5 depicts a flow of an exemplary method for visualizing, at anend-user device, the interchange of various decorative features of ahouse using a created home visualization template in accordance with thepresent invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention extends to systems, methods, and computer programproducts for providing a user with an interactive coating and adecorative feature selection interface. For example, the presentinvention can comprise a system for allowing a user to customizecoatings and decorative features on a depicted building facade.Additionally or alternatively, the depicted building facade comprises aphotograph of an actual building facade. Further, the user-customizeddecorative features and/or coatings may also comprise photographs ofactual decorative features and/or coatings that are selectivelyintegrated into the photograph of the building facade.

Accordingly, the present invention can provide significant benefits to auser selecting multiple coatings and/or decorative features at the sametime. For example, as opposed to using a single paint chip and trying tomentally visualize the presence of the paint chip color on a buildingfacade, the present invention allows a user to dynamically switchbetween various coatings and/or decorative features and have a finishedimage of a building facade displayed, with the accompanyinguser-customized coatings and features.

Additionally, the present invention can include displaying an actualphotograph of an exterior of a building, with actual photographs of eachrespective decorative feature and/or coating dynamically incorporatedinto the photograph of the building. As such, a user is provided with ahighly accurate depiction of the customized building facade.

Additionally, when customizing a particular picture of a building, auser may be presented with images of optional coatings and decorativefeatures. In addition or alternatively, the images of optional coatingsand decorative features that are displayed to a user are the same imagesthat are manipulated for incorporation into the image of the buildingfacade. Accordingly, additional or alternative implementations of thepresent invention can provide a user with highly accurate depictions ofa customized building facade.

FIG. 1 depicts a schematic diagram of a system for customizing images ofa building in accordance with implementations of the present invention.In particular, FIG. 1 depicts a designer computer 110 and a customercomputer 120 in communication with a customization software application100. The designer computer 110 and the customer computer 120 maycomprise the same computer. Additionally, one or both of the customercomputer 120 and the designer computer 110 may be in communication withthe customization software application 100 through a network connection.

The customization software application 100 may comprise various modules,such as a design user interface module 130, a house template creationmodule 132, a feature mask creation module 134, a decorative featuremodule 136, a client user interface module 140, and a house templatemodule 142. As used herein, a module may comprise a software component,including a software object, a hardware component, such as a discretecircuit, a field programmable gate array (FPGA), a computer processor,or some combination of hardware and software.

One will appreciate that the modules described herein are provided forthe sake of clarity and example. In particular, one will understand thatthe various modules may be otherwise combined or separated and stillfall within the scope of the present invention.

Along these lines, the customization software application 100 may alsobe in communication with one or more databases. For example, thecustomization software application 100 may be in communication with auser account database 150, a decorative feature database 160, and/or ahouse template database 170. As used herein, a database may compriselocally stored data, remotely stored data, data stored within anorganized data structure, data stored within a file system, or any otherstored data that is accessible to the customization software application100.

The present invention can include a system where a designer can use thedesigner computer 110 to create house templates. A house template cancomprise a photograph, or other digital image, of a house or building.The designer can upload a photograph 112 of a building or house from thedesign computer 110 into the customization software application 100. Forexample, the design user interface module 100 may provide an interfacefor selecting a photograph available to the designer and uploading thephotograph into the house template creation module 132.

The housing template creation module 132 can provide a designer withtools to associate particular portions of a digital image of a house orbuilding with specific features. For example, FIG. 2B depicts aphotograph of a house. The depicted house comprises a variety ofdifferent decorative features, including a brick facade 210, 220(a-e), astone facade 240(a-c), a siding with a particular coating color facade260, a particular color and style of shingles 230, a particular type andcolor of shutters 250, and other decorative features. Decorativefeatures can include any external portion of a housing or buildingstructure that provides aesthetic features to a home.

The house template creation module 132 can further provide a designerwith tools to outline each specific decorative feature and to associatedifferent outlined areas with each other. For example, the designer cancreate boundaries that outline brick facade 220 b and brick facade 220d. The designer can then associate the two outlined areas with eachother, such that the house template creation module 132 is notified thatthe two areas 220 b, 220 d comprise the same decorative feature type.The designer can further associate the outlined areas with a particulartype of decorative feature. For instance, the house template creationmodule 132 can provide the designer with an option to associate the twoareas 220 b, 220 d with a brick-type decorative feature.

In additional or alternative implementations, the house templatecreation module 132 can store the photograph 112 and associateddecorative feature boundary information within a house template database170. For example, once the designer has finished creating the boundariesthat outline the decorative features and associating them with aparticular decorative feature type, the house template creation module132 can send the photograph and associated decorative feature outlineinformation 172 to the house template module 142. The house templatemodule 142 can comprise various methods and systems for managing accessto the house template database 170.

In addition to creating house and building templates, in additional oralternative implementations, a designer at the designer computer 110 canalso create feature masks through the design user interface module 130.A feature mask may comprise a digitally manipulated photograph of aparticular decorative feature type. Each feature mask may also be customdesigned for incorporation into a particular house template.

The design user interface module 130 can provide a designer computer 110with an interface for selecting and uploading an image of a particulartype of decorative feature. For example, FIG. 2A depicts an exemplaryphotograph of a particular type of brick 200. The photograph of theparticular type of brick may comprise a photograph of a brick wall thatcomprises the type of brick of interest.

In additional or alternative implementations, the feature mask creationmodule 134 may provide a designer with tools to digitally manipulate thephotograph 200 into a decorative feature mask 210. For example, thefeature mask creation module 134 may provide a decorative area template205 for the designer. The decorative area template 205 may directlycorrespond with an area 210 that the designer outlined when creating ahouse template. In additional or alternative implementations, thedecorative area template 205 may comprise outlines of relevant featureswithout a particular type of decorative feature being displayed.

The feature mask creation module 134 can provide a designer with thenecessary digital tools to replicate, crop, distort, and otherwisemanipulate the photograph 200, or cropped portions thereof, as needed tocreate a decorative feature mask 210. In particular, the feature maskcreation module 134 can provide necessary tools for creating a visuallyaccurate decorative feature mask 210 from a photograph 200 of adecorative feature of interest.

For example, a particular photograph 200 of a decorative feature mayhave been taken from a different distance and/or perspective than acorresponding decorative feature within the photograph of a house orbuilding of interest. As such, a designer may scale the size of thephotograph 200 of the decorative feature so that it is true-to-scalewith respect to the photograph of the house or building of interest.Additionally, the designer may distort photo components 200 used in thedecorative feature mask 210, such that bricks that are closer inperspective to a viewer appear larger than bricks that are more distant.For instance, the designer may account for a vanishing point whenreplicating and manipulating photo components 200 to create a realisticview of a decorative feature mask 210.

Additionally, the feature mask creation module 134 can provide thedesigner with tools to correctly shade each respective decorativefeature mask 210. For example, a particular decorative feature mask 210may be located directly below an eave such that a shadow should be castby the eave onto the decorative feature. The feature mask creationmodule 134 can similarly provide a designer with tools to properly shadethe decorative feature mask 210. For example, the feature mask creationmodule 134 may comprise a rendering engine that automaticallyincorporates a shadow based upon a light source origination point.Alternatively, the feature mask creation module 134 may provide thedesigner with manual shading tools to manually incorporate a shadow.

The feature mask creation module 134 may also provide tools for creatingintricate ornamentation elements of a decorative feature mask. Forinstance, the decorative feature mask 210 of FIG. 2A comprisesdecorative arches 212(a, b) over the windows. The feature mask creationmodule 134 can provide tools for a designer to crop a single brick fromthe photo 200 and distort the originally rectangular brick into variouswedge shapes of appropriate size for the decorative arches 212(a, b).

Returning to FIG. 2B, the depicted house comprises a wide variety ofdifferent decorative features 210, 220(a-f), 230, 240(a-c), 250, 260,270(a-c). Many of the decorative features, such as brick 210, 220(a-f),appear at multiple distinct regions of the house facade. FIG. 2A and theaccompanying description describe the creation of a decorative featuremask 210 that comprises a single contiguous region of the house facade.In addition, a designer can link multiple distinct sets of boundariessuch that every area that is associated with a particular type ofdecorative feature is included within a single mask. For example, all ofthe brick areas 210, 220(a-f) depicted within the house may beassociated with a single mask.

Additionally, one will understand that the methods and systems forreceiving images of decorative features and creating house- orbuilding-specific masks from those images can be applied to a widevariety of different decorative features and houses or buildings. Forexample, FIG. 2B shows that the exemplary house comprises stonedecorative features 240(a-c). Using the method described above, adesigner can create decorative masks 210 from other types of stone andpresent those masks to a user for customization of the house.

Accordingly, in at least one implementation of the present invention, adesigner working at the designer computer 110 can upload images ofhouses and/or buildings and decorative features. In additional oralternative implementations, the images can comprise actual photographsof the houses and/or buildings and decorative features. Once uploaded,the designer can create a set of boundaries within the images of thehouses to outline respective decorative feature types.

Additionally or alternatively, the designer can create decorativefeature masks 210 from the images of the decorative features. Forexample, the designer can manipulate and replicate components of aphotograph of a decorative feature to create a realistic decorativefeature mask. The designer can repeat this process for any number ofdifferent types of decorative features.

Once a designer has created one or more house image templates and one ormore decorative feature masks, a customer can create a proposed buildingfacade design. For example, FIGS. 3A and 3B depict exemplary userinterfaces for customizing a house or building facade in accordance withthe present invention. As depicted, the user interface can comprise awebsite; however, this is only exemplary and it is contemplated by theapplicants that user interface can be integrated within a standaloneapplication.

In addition, the present invention further provides a customer computer120 that can send and receive information 122 related to thecustomization of a house or building facade. For example, the customercomputer 120 can receive a user interface 300 from a client userinterface module 140. The client user interface module 140 can provide awebpage that is hosted at a remote server, an application interface thatis executed by a remote server and communicated to the customer computer120, or an application interface that is executed locally on the remotecomputer 120.

When presented with the user interface 300, a user may be provided withan option to select a particular house or building type. One willunderstand that the various methods and systems described above forcreating house templates and decorative feature masks can be applied toa wide variety of different buildings and houses. For example, each ofthe depicted houses in FIG. 3A may have associated house templates andassociated boundary information relating to each houses' respectivedecorative features. Accordingly, a user can select different decorativefeatures to integrate into the respective images of the differenthouses.

Additionally, the selection of a house or building type may be limitedor otherwise associated with permission characteristics of the user. Forexample, some houses or buildings may only be available in particularlocations 310. Additionally, particular users may have predeterminedinterests that exclude some available houses or buildings such as housesor buildings with limited number of rooms. In at least oneimplementation, upon selecting a house type in interface 300, a user isprovided with a subset of different configurations for the selectedhouse type. As such, a user may provide further structural customizationbefore deciding upon decorative features.

In addition, the client user interface module 140 can be incommunication with a user account database 150. The user accountdatabase 150 may comprise information relating to the location of auser, the interests of a user, previous searches performed by a user,and other similar user-specific data. For example, the client userinterface module 140 may automatically display a selection of housesthat is most popular within the user's region. As such, a user may berequired to log into the customization software application 100. Once auser is logged in, the client user interface module 140 can customizethe interface 320 and the available house or building options to theparticular user's profile stored within the user account database 150.

Once a user selects a house, the client user interface module 140requests the selected house image template from the house templatemodule 142. The house template module 142 can then retrieve therequested house image template 172 from the house template database 170and forward the house image template to the client user interface module140 for display. A customization interface 320 can then display aphotograph of the selected house 350 and various customization options330,340 on the customer computer 120. The photograph of the selectedhouse 350 may comprise the original photograph taken of the house withor without any decorative feature masks 210 applied.

A user may then be presented with various options through a userinterface for customizing the house or building facade. For example,FIG. 3B depicts a user interface 320 for customizing a building or housefacade in accordance with additional or alternative implementations ofthe present invention. The depicted customization interface 320 cancomprise options for customizing brick color and type 332, roof shinglecolor and type 334, stone color and type 336, door and shutter color342, and siding, shake, trim 270(a-c), and garage color 344. In at leastone implementation, the depicted customization options may comprise theoriginal photographs 200 that were used to generate the decorativefeature masks 210. Using the various provided customization options, auser can selectively adjust the displayed photograph (i.e., the housetemplate) of the selected house.

As a user selects different customization options 332, 334, 336, 342,344, the client user interface module 140 can request 162 the associateddecorative feature masks from the decorative feature module 136. Thedecorative feature module 136 can then retrieve the desired decorativefeature mask from the decorative feature database 160 and forward thedecorative feature mask 210 to the client user interface module 140.Upon receiving the decorative feature mask 210, the client userinterface module 140 can incorporate the decorative feature mask 210into the house image template 350.

Additionally, as the user selects various options for decorativefeatures, the client user interface module 140 can display suggestedcomplementary features. For example, a user may select a particularcolor of clay tile for the roof covering. Upon receiving the selectionof the clay tile, the decorative feature module 136 can access withinthe decorative feature database 160 various complementary features, suchas a matching color of stucco. As such, as a user works to customize ahouse, the customization software application 100 can automaticallyprovide suggestions for other decorative features based upon popularcombinations and/or pre-determined combinations of features. Similarsuggestions can be made based upon the user's location, the selectedhouse type, information associated with the user, and other similarvariables.

A user can select multiple indications of a particular decorativefeature type. For example, a user can select multiple coating colors346(a-c) within the coating color category 344. The different selectedcolors 340 can be applied to different respective portions (siding,shake, trim, garage) of the depicted house or building.

Accordingly, a user can select from a variety of different customizationoptions 332, 334, 336, 342, 344 and receive a near-instant view of whatthe house or building facade would look with the selected configuration.In addition, the depicted building facade and selected options may alsocomprise actual photographs of a building facade and actual photographsof decorative features that have been incorporated into each other. Assuch, a user can be provided with a photo-realistic view of his or herselected house or building configuration.

Accordingly, FIGS. 1-3B and the corresponding text illustrate orotherwise describe one or more components, modules, and/or mechanismsfor creating a house visualization template for visualizing theinterchange of various decorative features of a house. One willappreciate that implementations of the present invention can also bedescribed in terms of computerized methods comprising one or more actsfor accomplishing a particular result. For example, FIGS. 4 and 5 andthe corresponding text illustrate or otherwise describe a sequence ofacts, which can each be carried out using at least one processor, in acomputerized method for creating a house visualization template forvisualizing the interchange of various decorative features of a house orin a computerized method of visualizing the interchange of variousdecorative features of a house using such house visualization template,respectively. The acts of FIGS. 4 and 5 are described below withreference to the components and modules illustrated in FIGS. 1-3B.

For example, FIG. 4 demonstrates that a method for creating a housevisualization template for visualizing the interchange of variousdecorative features of a house can include an act 400 of receiving anexterior image of a house. Act 400 can comprise receiving a firstexterior image of a first house, wherein the first exterior imagedepicts various decorative features of the first house. For example, asdescribed in FIG. 1 and the accompanying description, a designercomputer 110 can upload an image file 112 to the customization softwareapplication 100. The image file may comprise a digitally created imageof an exterior of a house, a hand-drawn-and-then-digitized image of anexterior of a house, or a photograph of an exterior of a house.

Additionally, FIG. 4 shows that the method can comprise an act 410 ofcreating first boundaries. Act 410 can include creating a set of firstboundaries that define a first type of decorative feature of the firsthouse. For example, as described in FIGS. 1-2B and the accompanyingdescription, the house template creation module 132 can provide adesigner, at the designer computer 110, with tools necessary to causethe house template creation module 132 to create boundaries that outlinevarious types of decorative features on the facade of the house orbuilding. For instance, a designer can outline boundaries that surrounda portion of the facade that comprises brick 210.

FIG. 4 also shows that the method can comprise an act 420 of receivingan image of a decorative feature. Act 420 can include receiving a firstset of decorative images that depict various different instances of thefirst type of decorative feature, wherein the decorative images cancomprise photographs of various different instances of the first type ofdecorative feature. For example, as described in FIG. 1 and theaccompanying description, a designer computer 110 can upload an imagefile 112 to the customization software application 100. The image filemay comprise a digitally created image of a decorative feature (e.g.,brick), a hand-drawn-and-then-digitized image of a decorative feature,or a photograph of a decorative feature.

In addition, FIG. 4 shows that the method can comprise an act 430 ofgenerating a decorative feature mask. Act 430 can include generatingfrom each of the decorative images of the first set of decorative imagesrespective first decorative feature masks. The first decorative featuremasks may be configured to selectively overlay an area encompassed bythe set of first boundaries, such that the first exterior image of thefirst house is selectively displayable with any of the instances of thefirst type of decorative features within the first set of decorativeimages. For example, as described in FIGS. 1-3B and the accompanyingdescription, the feature mask creation module 134 can provide adesigner, at the designer computer 110, with tools necessary tomanipulate an image, such as photograph 200, to fit within a decorativearea template 205. The resulting decorative feature mask can then beintegrated into an exterior image of a house. For instance, a userinterface 320 can be presented to a user that provides the user withoptions 330, 340 for integrating a number of different decorativefeatures 332, 334, 336, 342, 344 into an exterior image of a house(e.g., photograph 350).

In addition to the foregoing, FIG. 5 depicts that an additional oralternative method of visualization, at an end-user device, theinterchange of various decorative features of a house using a housevisualization template created according to the present invention cancomprise an act 500 of displaying an exterior image of a house. Act 500can include displaying a first exterior image of a first house, whereinthe first exterior image of the first house including various decorativefeatures of the first house. The first exterior image of the first housecan comprise a photograph of an exterior of the first house includingvarious decorative features of the first house. For example, asdescribed in FIGS. 1 and 3B and the accompanying descriptions, theclient user interface module 140 can display at a customer computer 120a customization user interface 320. The customization user interface 320can comprise an image of an exterior of a house or building (e.g., housephotograph 350).

Additionally, FIG. 5 shows that the method can comprise an act 510 ofdisplaying a first set of decorative features. Act 510 can includedisplaying a first set of decorative feature indications, wherein thefirst set of decorative feature indications comprise differentselectable decorative features of a first type. The different selectabledecorative features of a first type can be associated with respectivefirst decorative feature masks. The first decorative feature masks canbe generated as set forth above. For example, as described in FIG. 3Band the accompanying description, the customization user interface 320can comprise various different sets of decorative feature indications(e.g., 332, 334, 336, 342, 344). The sets of decorative featureindications can be distinguishable by decorative feature type.

FIG. 5 also shows that the method can comprise an act 520 of displayinga second set of decorative features. Act 520 can include displaying asecond set of decorative feature indications, wherein the second set ofdecorative feature indications comprise different selectable decorativefeatures of a second type. The different selectable decorative featuresof a second type can be associated with respective second decorativefeature masks. The second decorative feature masks can be generated asset forth above. For example, as described in FIG. 3B and theaccompanying description, the customization user interface 320 cancomprise various different sets of decorative feature indications (e.g.,332, 334, 336, 342, 344). The sets of decorative feature indications canbe distinguishable by decorative feature type.

In addition, FIG. 5 shows that the method can comprise an act 530 ofreceiving a selection of an indication. Act 530 includes receiving anindication from a user input device of a selection of a particularindication within the first set of decorative feature indications,wherein the particular indication is associated with a first decorativefeature. For example, as described in FIGS. 1 and 3B and theaccompanying description, the client user interface module 140 canreceive a selection 122 from a user at the customer computer 120. Theselection can comprise clicking on a particular indication of adecorative feature 332, 334, 336, 342, 344 from within the usercustomization interface 320.

Further, FIG. 5 shows that the method can comprise an act 540 ofdisplaying a second exterior image of the house. Act 540 includesdisplaying, on a digital display, a second exterior image of the firsthouse, wherein the second exterior image of the first house comprisesthe first image, e.g. photograph, of the exterior of the first housewith the first decorative feature incorporated, making use of theassociated first decorative feature mask, into the first image (e.g.photograph) such that the first decorative feature replaces an originaldecorative feature within the first exterior image. For example, asdescribed in FIG. 3B and the accompanying description, a customer canselect a particular indication of a decorative feature 360. Once thecustomer selects the decorative feature indication 360, the exteriorimage of the house or building (e.g., 350) can be automatically updatedto reflect the newly incorporated decorative feature 360.

Accordingly, the present invention and corresponding alternativesdescribed herein provide significant benefits to a customer desiring toselect various decorative features. For example, a customer may be ableto view actual photographs of a desired house or building with actualphotograph-based decorative features incorporated into the image of thehouse. As such, a user is presented with a true-to-life depiction of adesired house configuration.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the described features or acts described above,or the order of the acts described above. Rather, the described featuresand acts are disclosed as example forms of implementing the claims.

Embodiments of the present invention may comprise or utilize aspecial-purpose or general-purpose computer system that includescomputer hardware, such as, for example, one or more processors andsystem memory, as discussed in greater detail below. Embodiments withinthe scope of the present invention also include physical and othercomputer-readable media for carrying or storing computer-executableinstructions and/or data structures. Such computer-readable media can beany available media that can be accessed by a general-purpose orspecial-purpose computer system. Computer-readable media that storecomputer-executable instructions and/or data structures are computerstorage media. Computer-readable media that carry computer-executableinstructions and/or data structures are transmission media. Thus, by wayof example, and not limitation, embodiments of the invention cancomprise at least two distinctly different kinds of computer-readablemedia: computer storage media and transmission media.

Computer storage media are physical storage media that storecomputer-executable instructions and/or data structures. Physicalstorage media include computer hardware, such as RAM, ROM, EEPROM, solidstate drives (“SSDs”), flash memory, phase-change memory (“PCM”),optical disk storage, magnetic disk storage or other magnetic storagedevices, or any other hardware storage device(s) which can be used tostore program code in the form of computer-executable instructions ordata structures, which can be accessed and executed by a general-purposeor special-purpose computer system to implement the disclosedfunctionality of the invention.

Transmission media can include a network and/or data links which can beused to carry program code in the form of computer-executableinstructions or data structures, and which can be accessed by ageneral-purpose or special-purpose computer system. A “network” isdefined as one or more data links that enable the transport ofelectronic data between computer systems and/or modules and/or otherelectronic devices. When information is transferred or provided over anetwork or another communications connection (either hardwired,wireless, or a combination of hardwired or wireless) to a computersystem, the computer system may view the connection as transmissionmedia. Combinations of the above should also be included within thescope of computer-readable media.

Further, upon reaching various computer system components, program codein the form of computer-executable instructions or data structures canbe transferred automatically from transmission media to computer storagemedia (or vice versa). For example, computer-executable instructions ordata structures received over a network or data link can be buffered inRAM within a network interface module (e.g., a “NIC”), and theneventually transferred to computer system RAM and/or to less volatilecomputer storage media at a computer system. Thus, it should beunderstood that computer storage media can be included in computersystem components that also (or even primarily) utilize transmissionmedia.

Computer-executable instructions comprise, for example, instructions anddata which, when executed at one or more processors, cause ageneral-purpose computer system, special-purpose computer system, orspecial-purpose processing device to perform a certain function or groupof functions. Computer-executable instructions may be, for example,binaries, intermediate format instructions such as assembly language, oreven source code.

Those skilled in the art will appreciate that the invention may bepracticed in network computing environments with many types of computersystem configurations, including, personal computers, desktop computers,laptop computers, message processors, hand-held devices, multi-processorsystems, microprocessor-based or programmable consumer electronics,network PCs, minicomputers, mainframe computers, mobile telephones,PDAs, tablets, pagers, routers, switches, and the like. The inventionmay also be practiced in distributed system environments where local andremote computer systems, which are linked (either by hardwired datalinks, wireless data links, or by a combination of hardwired andwireless data links) through a network, both perform tasks. As such, ina distributed system environment, a computer system may include aplurality of constituent computer systems. In a distributed systemenvironment, program modules may be located in both local and remotememory storage devices.

Those skilled in the art will also appreciate that the invention may bepracticed in a cloud-computing environment. Cloud computing environmentsmay be distributed, although this is not required. When distributed,cloud computing environments may be distributed internationally withinan organization and/or have components possessed across multipleorganizations. In this description and the following claims, “cloudcomputing” is defined as a model for enabling on-demand network accessto a shared pool of configurable computing resources (e.g., networks,servers, storage, applications, and services). The definition of “cloudcomputing” is not limited to any of the other numerous advantages thatcan be obtained from such a model when properly deployed.

A cloud-computing model can be composed of various characteristics, suchas on-demand self-service, broad network access, resource pooling, rapidelasticity, measured service, and so forth. A cloud-computing model mayalso come in the form of various service models such as, for example,Software as a Service (“SaaS”), Platform as a Service (“PaaS”), andInfrastructure as a Service (“IaaS”). The cloud-computing model may alsobe deployed using different deployment models such as private cloud,community cloud, public cloud, hybrid cloud, and so forth.

Some embodiments, such as a cloud-computing environment, may comprise asystem that includes one or more hosts that are each capable of runningone or more virtual machines. During operation, virtual machines emulatean operational computing system, supporting an operating system andperhaps one or more other applications as well. In some embodiments,each host includes a hypervisor that emulates virtual resources for thevirtual machines using physical resources that are abstracted from viewof the virtual machines. The hypervisor also provides proper isolationbetween the virtual machines. Thus, from the perspective of any givenvirtual machine, the hypervisor provides the illusion that the virtualmachine is interfacing with a physical resource, even though the virtualmachine only interfaces with the appearance (e.g., a virtual resource)of a physical resource. Examples of physical resources includingprocessing capacity, memory, disk space, network bandwidth, mediadrives, and so forth.

As used herein, unless otherwise expressly specified, all numbers suchas those expressing values, ranges, amounts or percentages may be readas if prefaced by the word “about”, even if the term does not expresslyappear. Any numerical range recited herein is intended to include allsub-ranges subsumed therein. Plural encompasses singular and vice versa.For example, while the invention has been described in terms of “a”first boundary, “a” first decorative feature, “a” first image, and thelike, one or more of any of these items is within the scope of theinvention. In addition, in this application, the use of “or” means“and/or” unless specifically stated otherwise, even though “and/or” maybe explicitly used in certain instances. “Including”, “such as”, “forexample” and like terms means “including/such as/for example but notlimited to”.

In view of the foregoing the present invention therefore relates inparticular, without being limited thereto, to the following aspects:

1. A computerized method for creating a house visualization template forvisualizing the interchange of various decorative features of a house,the method comprising:

receiving, using at least one processor, a first exterior image of afirst house, wherein the first exterior image depicts various decorativefeatures of the first house;

creating, using the at least one processor, a set of first boundariesthat define a first type of decorative feature of the first house;

receiving, using the at least one processor, a first set of decorativeimages that depict various different instances of the first type ofdecorative feature, wherein the decorative images comprise photographsof various different instances of the first type of decorative feature;and

generating, using the at least one processor, from each of thedecorative images of the first set of decorative images respective firstdecorative feature masks;

wherein the first decorative feature masks are configured to beselectively placed over an area encompassed by the set of firstboundaries, such that the first exterior image of the first house isselectively displayable with any of the instances of the first type ofdecorative features within the first set of decorative images.

2. The method according to Aspect 1, wherein the various decorativefeatures comprise a particular shingle color, a particular siding color,a particular brick color, and a particular stone color.

3. The method according to Aspect 1 or 2, wherein:

the set of first boundaries comprises multiple distinct regions thatcomprise the first type of decorative feature, and

at least one of the first decorative feature masks is configured tooverlay all of the multiple distinct regions.

4. The method according to any one of the preceding Aspects furthercomprising:

receiving, using the at least one processor, a second exterior image ofa second house that is structurally different than the first house,wherein the second exterior image depicts various decorative features ofthe second house;

creating, using the at least one processor, a set of second boundariesthat define the first type of decorative feature of the second house;

generating, using the at least one processor, from each of thedecorative images respective second decorative feature masks, wherein:

the second decorative feature masks are configured to selectivelyoverlay an area encompassed by the set of second boundaries, such thatthe second exterior image of the second house is selectively displayablewith any of the instances of the first type of decorative featureswithin the first set of decorative images.

5. The method according to preceding Aspect 4, further comprising:

creating, using the at least one processor, a set of third boundariesthat define a second type of decorative feature of the first house;

receiving, using the at least one processor, a second set of decorativeimages that depict various different instances of the second type ofdecorative feature, wherein the decorative images comprise photographsof various different instances of the second type of decorative feature;

generating, using the at least one processor, from each of thedecorative images of the second set of decorative images respectivethird decorative feature masks;

wherein the third decorative feature masks are configured to selectivelyoverlay an area encompassed by the set of third boundaries, such thatthe first exterior image of the first house is selectively displayablewith any of the instances of the second type of decorative featureswithin the second set of decorative images.

6. The method according to any one of the preceding Aspects, wherein thefirst decorative feature masks are configured to maintain thethree-dimensional visual aspects of the area encompassed by the firstboundaries.

7. The method according to any one of the preceding Aspects, wherein aportion of at least one of the decorative images within the first set ofdecorative images is reused multiple times within at least one of thefirst decorative feature masks.

8. The method according to any one of the preceding Aspects, whereineach of the first set of decorative images comprises photographs of arespective type of brick and each of the first decorative feature masksconsist of one or more portions of respective images within the firstset of decorative images.

9. A computerized method for visualizing, at an end-user device, theinterchange of various decorative features of a house using a housevisualization template created according to any one of claims 1 to 8,the method comprising:

displaying, using at least one processor, a first exterior image of afirst house for which a house visualization template has been created,wherein the first exterior image includes various decorative features ofthe first house;

displaying, using the at least one processor, a first set of decorativefeature indications, wherein the first set of decorative featureindications comprise different selectable decorative features of a firsttype, which are associated with respective generated first decorativefeature masks;

receiving, using the at least one processor, an indication from a userinput device of a selection of a particular indication within the firstset of decorative feature indications, wherein the particular indicationis associated with a first decorative feature; and

displaying, using the at least one processor, on a digital display, asecond exterior image of the first house, wherein the second exteriorimage of the first house comprises the first exterior image of the firsthouse with the first decorative feature incorporated, making use of theassociated first decorative feature mask, into the first exterior imagesuch that the first decorative feature replaces an original decorativefeature within the first exterior image.

10. The method according to Aspect 9, wherein the different selectabledecorative features of the first type comprise a paint color.

11. The method according to any one of Aspects 9 to 10, furthercomprising displaying, using the at least one processor, a second set ofdecorative feature indications, wherein the second set of decorativefeature indications comprise different selectable decorative features ofa second type, which are associated with respective generated seconddecorative feature masks, wherein the different selectable decorativefeatures of the second type preferably comprise a decorative featuretype selected from a group consisting of brick color, stone color, staincolor, and shingle color.

12. The method according to Aspect 11, further comprising:

receiving, using the at least one processor, another indication from theuser input device of a selection of yet another indication within thesecond set of decorative feature indications, wherein the otherindication is associated with a second decorative feature; and

sending, using the at least one processor, new display instructions tothe digital display, the new display instructions comprising a thirdexterior image of the first house;

wherein:

the third exterior image of the first house comprises the first exteriorimage of the first house with the first decorative feature incorporatedinto the first photograph;

the first decorative feature replaces an original decorative featurewithin the first exterior image and the second decorative feature isincorporated, making use of the associated second decorative featuremask, into the first exterior image such that the second decorativefeature replaces another original decorative feature within the firstexterior image.

13. The method according to any one of Aspects 9 to 12, whereinincorporating the first decorative feature and/or the second decorativefeature into the first exterior image comprises incorporating at least aportion of a photograph of the first decorative feature into the firstexterior image.

14. The method according to any one of Aspects 1 to 8 or the methodaccording to any one of Aspects 9 to 13, wherein the first exteriorimage of the first house comprises a photograph.

15. A computer system having one or more processors, system memory, andone or more computer-readable media storing computer-executableinstructions, the computer system being configured to implement acomputerized method for creating a house visualization template forvisualizing the interchange of various decorative features of a house asdefined in any one of Aspects 1 to 8 or 14 and/or a computerized methodfor visualizing, at an end-user device, the interchange of variousdecorative features of a house as defined in any one of Aspects 9 to 14.

16. A computer program product comprising one or more computer storagemedia having stored thereon computer-executable instructions that, whenexecuted by at least one processor, cause a computer system to perform amethod for creating a house visualization template for visualizing theinterchange of various decorative features of a house as defined in anyone of Aspects 1 to 8 or 14 and/or a computerized method forvisualizing, at an end-user device, the interchange of variousdecorative features of a house as defined in any one of claims 9 to 14.

The present invention may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive. The scope of the invention is, therefore, indicatedby the appended claims rather than by the foregoing description. Allchanges which come within the meaning and range of equivalency of theclaims are to be embraced within their scope.

We claim:
 1. At a remote server in a network environment comprising theremote server and one or more user-input devices, a computer-implementedmethod of creating a house visualization template for visualizing theinterchange of various decorative features of a house at a remote userinput device, the method comprising: receiving at a remote server afirst image of a first house from a user input device over a network,wherein the first image comprises a first photograph of one or moresurfaces of the first house including various decorative featuresthereof; sending display instructions to the user input device of: afirst set of decorative feature indications, and a second set ofdecorative feature indications; wherein the first set of decorativefeature indications comprise different selectable decorative features ofa first type, and the second set of decorative feature indicationscomprise different selectable decorative features of a second type;receiving at the remote server an indication from the user input deviceof a selection of a particular indication within the first set ofdecorative feature indications, wherein the particular indication isassociated with a first decorative feature; and sending displayinstructions from the remote server to the user input device of a secondimage of the first house, wherein the second image of the first housecomprises the first photograph of the first house with the firstdecorative feature incorporated into the first photograph, such that thefirst decorative feature replaces an original decorative feature withinthe first photograph; receiving at the remote server another indicationfrom the user input device of a selection of yet another indicationwithin the second set of decorative feature indications, wherein theother indication is associated with a second decorative feature; andsending display instructions from the remote server to the user inputdevice of a third image of the first house; wherein: the third image ofthe first house comprises the first photograph of the first house withthe first decorative feature incorporated into the first photograph; thefirst decorative feature replaces an original decorative feature withinthe first photograph and the second decorative feature incorporated intothe first photograph; and the second decorative feature replaces anotheroriginal decorative feature within the first photograph.
 2. The methodas recited in claim 1, wherein the different selectable decorativefeatures of the first type comprise a paint color.
 3. The method asrecited in claim 2, wherein incorporating the first decorative featureinto the first photograph comprise incorporating at least a portion of aphotograph of the first decorative feature into the first photograph. 4.The method as recited in claim 2, wherein the different selectabledecorative features of the second type comprise a decorative featuretype selected from a group consisting of brick color, stone color, staincolor, and shingle color.
 5. The method as recited in claim 1, whereinincorporating the second decorative feature into the first photographcomprises incorporating at least a portion of a photograph of the seconddecorative feature into the first photograph.
 6. The method as recitedin claim 1, further comprising: sending display instructions of imagesof a plurality of different houses to the user input device, whereineach image comprises a photograph of a respective house; and receivingan indication from the user input device selecting an image of aparticular house, wherein the image of the particular house comprisesthe first image of the first house.
 7. The method as recited in claim 6,further comprising: identifying permission characteristics of a user;and based upon the permission characteristics, the remote server sendingdisplay instructions to the user input device of a specific subset ofimages of houses, wherein the subset of images comprises the pluralityof different houses.
 8. The method as recited in claim 7, wherein: thepermission characteristics of the user are associated with ageographical area; and the subset of images is defined by the pluralityof different houses that are available within the geographical area. 9.The method as recited in claim 1, wherein upon receiving the indicationfrom a user input device of the selection of the particular indicationwithin the first set of decorative feature indications, the second imageis automatically sent to the user input device for display.
 10. Themethod as recited in claim 1, wherein at least one of the decorativefeature indications of the first and second set of decorative featureindications comprises an exterior feature.
 11. A system comprising aremote server, and one or more computing systems including one or moreof a designer computer and a customer computer, the remote servercomprising computer-executable instructions for customizing images of abuilding using decorative feature masks, the server further comprising:a design user interface module for providing a user of one or morecomputing systems with a user interface for uploading an image of astructure, wherein the structure comprises a particular type ofdecorative feature in a plurality of decorative features; a housetemplate creation module for enabling the user through the userinterface to outline at least one of the decorative features in theplurality, thereby creating a boundary with the outlined decorativefeature, wherein the house template creation module stores the outlinein a decorative feature database; a feature mask creation module forenabling the user through the user interface to manipulate the uploadedimage to create one or more decorative feature masks, wherein the one ormore decorative feature masks are stored in the decorative featuredatabase; a decorative feature module in communication with a clientuser interface module, wherein the decorative feature module and clientuser interface module enable the user to retrieve a desired decorativefeature mask from the decorative feature database and incorporate thedesired decorative feature mask into the created boundary in theuploaded image of the structure; a client user interface module thatprovides a webpage hosted at the remote server, wherein the webpage isconfigured to: display a first set of decorative feature indications,wherein the first set of decorative feature indications comprisedifferent selectable decorative features of a first type; display asecond set of decorative feature indications, wherein the second set ofdecorative feature indications comprise different selectable decorativefeatures of a second type; display a second image of the first house,wherein the second image of the first house comprises the firstphotograph of the first house with the first decorative featureincorporated into the first photograph, such that the first decorativefeature replaces an original decorative feature within the firstphotograph; upon receipt of another indication of a selection of yetanother indication within the second set of decorative featureindications, wherein the other indication is associated with a seconddecorative feature, display a third image of the first house; wherein:the third image of the first house comprises the first photograph of thefirst house with the first decorative feature incorporated into thefirst photograph; the first decorative feature replaces an originaldecorative feature within the first photograph and the second decorativefeature incorporated into the first photograph; and the seconddecorative feature replaces another original decorative feature withinthe first photograph.
 12. The system as recited in claim 11, wherein thedifferent selectable decorative features of the first type comprise apaint color.
 13. The system as recited in claim 12, whereinincorporating the first decorative feature into the first photographcomprise incorporating at least a portion of a photograph of the firstdecorative feature into the first photograph.
 14. The system as recitedin claim 13, wherein the different selectable decorative features of thesecond type comprise a decorative feature type selected from a groupconsisting of brick color, stone color, stain color, and shingle color.15. The system as recited in claim 11, wherein incorporating the seconddecorative feature into the first photograph comprise incorporating atleast a portion of a photograph of the second decorative feature intothe first photograph.
 16. The system as recited in claim 11, furthercomprising: generating display instructions of a plurality of surfaceimages of a plurality of different houses, wherein each surface imagecomprises a photograph taken of a respective house; and receiving anindication from a user input device selecting a surface image of aparticular house, wherein the surface image of the particular housecomprises the first image of the first house.
 17. The system as recitedin claim 11, wherein at least one of the first or second decorativefeatures comprises an exterior decorative feature.
 18. At a server in anetwork environment comprising the server and one or more user-inputdevices, a computer-implemented method of creating a house visualizationtemplate for visualizing the interchange of various decorative featuresof a house, the method comprising: receiving at the remote computer fromthe customer computer a first image of a first house, and the remotecomputer creating a set of first boundaries that define a first type ofdecorative feature of the first house; receiving a first set ofdecorative images that depict various different instances of the firsttype of decorative feature; generating from each of the decorativeimages corresponding first decorative feature masks to be used inconnection with one or more user selectable indications, such that, uponuser selection of an indication at the customer computer, the decorativefeature masks are placed over an area encompassed by the set of firstboundaries; sending display instructions to the customer computer, thedisplay instructions instructing display of the first house inconnection with (i) a first set of decorative feature indicationscomprising different selectable decorative features of a first type, and(ii) a second set of decorative feature indications comprising differentselectable decorative features of a second type; receiving from thecustomer computer a user selection of a particular indication to displaya decorative feature of the first type of decorative feature; andsending display instructions to the customer computer to display asecond image of the first house, wherein the second image of the firsthouse comprises the first photograph of the first house such that thefirst decorative feature replaces an original decorative feature withinthe first photograph; receiving another indication from the user inputdevice of a selection of yet another indication within the second set ofdecorative feature indications, wherein the other indication isassociated with a second decorative feature; and sending displayinstructions to the customer computer to display a third image of thefirst house, wherein the third image of the first house displays thefirst photograph showing (i) the first decorative feature, as well as(ii) the second decorative feature in place of another originaldecorative feature within the first photograph.
 19. The method asrecited in claim 18, wherein the first image of the first housecomprises a photograph.
 20. The method as recited in claim 18, whereinthe various decorative features comprise a particular shingle color, aparticular siding color, a particular brick color, and a particularstone color.
 21. The method as recited in claim 18, wherein: the set offirst boundaries comprise multiple distinct regions that comprise thefirst type of decorative feature; and at least one of the firstdecorative feature masks is configured to overlay all of the multipledistinct regions.
 22. The method as recited in claim 18, wherein themethod further comprises: receiving a second image of a second housethat is structurally different than the first house, wherein the secondimage depicts various decorative features of the second house; creatinga set of second boundaries that define the first type of decorativefeature of the second house; generating from each of the decorativeimages respective second decorative feature masks; wherein: the seconddecorative feature masks are configured to selectively overlay an areaencompassed by the set of second boundaries; and the second image of thesecond house is selectively displayable with any of the instances of thefirst type of decorative features within the first set of decorativeimages.
 23. The method as recited in claim 22, wherein the methodfurther comprises: creating a set of third boundaries that define asecond type of decorative feature of the first house; receiving a secondset of decorative images that depict various different instances of thesecond type of decorative feature, wherein the decorative imagescomprise photographs of various different instances of the second typeof decorative feature; generating from each of the decorative images ofthe second set of decorative images respective third decorative featuremasks; wherein the third decorative feature masks are configured toselectively overlay an area encompassed by the set of third boundaries,such that the first image of the first house is selectively displayablewith any of the instances of the second type of decorative featureswithin the second set of decorative images.
 24. The method as recited inclaim 22, wherein the first decorative feature masks are configured tomaintain the three-dimensional visual aspects of area encompassed by thefirst boundaries.
 25. The method as recited in claim 24, wherein aportion of at least one of the decorative images within the first set ofdecorative images is reused multiple times within at least one of thefirst decorative feature masks.
 26. The method as recited in claim 25,wherein each of the first set of decorative images comprises photographsof a respective type of brick and each of the first decorative featuremasks consist of one or more portions of respective images within thefirst set of decorative images.